This application claims the priority benefit of Taiwan application serial no. 88114691, filed Aug. 27, 1999.
1. Field of Invention
The present invention relates to a computer system debugging device and method. More particularly, the present invention relates to a debugging device, method and system for a computer system having a peripheral component interconnection (PCI) bus.
2. Description of Related Art
FIG. 1 is a block diagram showing a PCI bus system connecting various components of a conventional computer system. As shown in FIG. 1, a central processing unit 10 is coupled to the PCI bus 14 via a host bridge 12. The host bridge 12 is further coupled to a system memory 11. The master controller of several PCI compatible peripheral devices such as a graphic adapter 16a, an expansion bus bridge 16b, a LAN adapter 16c and a SCSI host bus adapter 16d can also be coupled to the PCI bus 14. Each of these master controllers is able to send out a request (RST) signal demanding the use of the PCI bus 14. The host bridge 12 serves as an arbitrator that sends out grant (GNT) signals to the controller when the PCI bus 14 is available.
Data transmission between PCI compatible devices (such as the master controllers or the north bridge of a computer chipset) are controlled by a few interface control signals. A cycle frame (FRAME) is issued from an initiator (can be the master controller or the north bridge) indicating the initialization of a data access operation and the duration therein. As soon as the FRAME signal is out, data transaction via the PCI bus begins. A low potential for the FRAME signal indicates data transmission is in progress. After the initiation of data transaction, the address bus AD will send out a valid address during the address cycle. In the meantime, the command/byte enable (CBE[3:0]) signal lines will send out a valid bus command (according to PCI specification) so that the target device knows the data transaction mode demanded by the initiator. In general, the four bits of the command/byte enable signal lines are capable of coding up to a maximum of 16 different commands, and each command is defined in detail in the PCI specification. After the effective address is out, a data cycle begins in which data is transmitted through the address bus AD. In the meantime, byte enable signals are sent so that data can be transmitted. When the transmission of FRAME signal stops, the last set of data is transmitted and no more in the current transaction. An initiator ready (IRDY) signal and a target ready (TRDY) signal are also used by the system for displaying the readiness of the initiating device and the target device in data transaction. In a data read operation, the IRDY signal indicates that the initiator is ready to receive the demanded data. In a data write operation, the TRDY signal indicates that the target device is ready to receive the demanded data. A stop (STOP) signal is used by the target device to request a termination of data transaction from the initiator.
FIG. 2 is a timing diagram showing the various signals in the PCI bus interface during a read operation. The period within which data are transmitted via the PCI bus is known as a bus transaction cycle 20. The bus transaction cycle 20 includes an address cycle 22 and several data cycles, for example, 24a, 24b and 24c. Each data cycle 24a/b/c can be further divided into a wait cycle 26a/b/c and a data transfer cycle 28a/b/c. The following is a brief description of the PCI bus interface during a read operation for illustrating the control signals according to PCI specification.
During cycle T1, a FRAME signal is sent by the initiator indicating the start of a data transaction while a start address is put on the address bus AD lines to locate the target device of the transaction. In the meantime, a read command is transmitted through the CBE lines. After the delivery of the read command, a byte enable signal is put on the CBE lines. The byte enable signals are sent throughout the data cycles (including 24a, 24b and 24c). During cycle T2, the initiator submits an initiator ready signal IRDY indicating its readiness for data transmission. However, the target device is still not ready yet. Hence, the target device keeps preparing the data while the initiator idles in the wait cycle 26a of the data cycle 24a. During cycle T3, the target device has prepared all the necessary data for transmission, thereby sending out a target ready TRDY signal. Therefore, in data cycle 28a, both IRDY and TRDY are out and so the initiator can begin to read data from the target device. During cycle T4, the target device no longer issues the target ready TRDY signal, which signals the end of the first set of transmission data. Meanwhile, a set of data is prepared inside the target device. Again, the initiator enters a wait cycle 26b within the data cycle 24b. During cycle T5, the target ready TRDY signal is issued indicating the second set of data is ready. The second set of data is ready by the initiator in cycle 28b when both the IRDY and the TRDY signals are issued. When the initiator has insufficient time to read all the data from the target device as in cycle T6, the IRDY signal terminates. Since the TRDY signal is still out, the wait cycle 26c is activated by the initiator. As soon as the initiator is ready again as in cycle T7, the IRDY signal is re-issued. The initiator reads the data from the target device during data transfer cycle 28c when both IRDY and TRDY signals are issued, thereby completing a single read operation.
For the engineers engaged in PC hardware maintenance and development as well as researchers and students experimenting with PCs, the ISA bus card should be quite familiar. The ISA bus card is an indispensable tool for system debugging, repair and signal display. Compared with a logic analyzer, the ISA bus is a rather inexpensive and useful analytical tool. However, due to the continual increase in operating frequency in most PC system (for example, over 133 MHz for CPU, over 66 MHz for AGP and over 33 MHz for PCI bus), the ISA bus operating at mere 8 to 10 MHz has fallen too much behind other devices in speed. Consequently, the ISA bus is likely to be completely replaced by PCI bus in the near future. In fact, most manufacturers of main computer board have stopped adding an ISA bus slot on the main board.
However, only very simple PCI display cards having no termination capability are available in the PC market. These display cards is only capable of displaying address, data and command signals. In addition, each display card must rely on the I/O CHANNEL READY signal of an ISA bus debug card for halting the system temporarily. Therefore, given that a main computer board no longer has an ISA bus slot, debugging and repair can hardly proceed. Hence, there is an urgent demand for a PCI debugging device having some halting capability.
Accordingly, one object of the present invention is to provide a PCI debugging device with a PCI interface. The user of the PCI debugging device is capable of halting the system and retrieving system information such as the address, data and command signals once the device is plugged into the PCI interface slot of the system. In addition, an ISA bus debug card is unnecessary.
A second object of the invention is to provide a method for debugging a system with a PCI interface such that system operation can be halted and address, data and command signals of the system can be displayed.
To achieve these and other advantages and in accordance with the purpose of the invention, as embodied and broadly described herein, the invention provides a PCI debugging device with a PCI interface. The PCI interface includes a request signal, a grant signal and a target ready signal. The system includes a debugging mode. If the request signal is enable while the system is in the debugging mode, the system will keep the grant signal. The PCI debugging device includes: a switching circuit for setting a wait-to-debug command signal; a system data display circuit for displaying data on the PCI interface and sending out an instantaneous command signal; a decoding comparator circuit for decoding the instantaneous command signal and comparing with the wait-to-debug command signal so that an identical command signal can be produced; and a latch circuit having reset capability for latching the identical command signal and activating the request signal. Since the system halt will not throw away the grant signal as long as the request signal is activated, debugging operation is facilitated.
This invention also provides a method for debugging a system having a PCI interface. The system has a debugging mode while the PCI interface includes a request signal, a grant signal and a target ready signal. In the debugging mode, as long as the request signal is activated, the grant signal is retained by the system. The method includes the steps of: providing a wait-to-debug command signal; detecting an instantaneous command signal from the PCI interface; decoding the instantaneous command signal; comparing the instantaneous command signal and the wait-to-debug command signal and generating an identical command signal; and providing a reset input to clear the request signal. Since the system halt will not throw away the grant signal as long as the request signal is activated, debugging operation is facilitated.
This invention also provides a debugging system with a PCI interface. The PCI interface includes a request signal, a grant signal and a target ready signal. The debugging system includes a computer system with a PCI interface slot. The computer system has a debugging mode. In the debugging mode, as long as the request signal remains activated, the computer system will retain any grant signal. The debugging system also includes a PCI debugging card inserted into the PCI interface slot. The PCI debugging card has a switching circuit for setting a wait-to-debug command signal; a system data display circuit for displaying data on the PCI interface and sending out an instantaneous command signal; a decoding comparator circuit for decoding the instantaneous command signal and comparing with the wait-to-debug command signal so that an identical command signal is produced under the right condition; and a latch circuit having reset capability for latching the identical command signal and activating the request signal.
According to the embodiment of this invention, when the PCI interface detects a PCI debugging card on system startup, the system will proceed to a debugging mode immediately. On the other hand, if no PCI debugging card is detected, the system will proceed to a normal running mode after a preset period. Alternatively, the PCI interface of the system can be set in such a way that the system will automatically proceed to the debugging mode on system startup. After the execution of the BIOS program, the system immediately returns to a normal mode of operation.
In the embodiment of this invention, the computer system can further include a resistor for setting the computer system into the debugging mode. Alternatively, a resistor can be inserted into the PCI debugging card. In that case, the computer system has to detect the presence of this resistor through the PCI interface. The resistor can be coupled to a high potential (pull up) or a low potential (pull down). As long as the voltage level of the resistor can be detected by the computer system, whether the system should get into a debugging mode or a normal can be easily determined.
It is to be understood that both the foregoing general description and the following detailed description are exemplary, and are intended to provide further explanation of the invention as claimed.